The present invention relates to the field of data processing. In particular, it relates to the use of data compression in for transmitting and storing configuration data for programming programmable logic devices.
Today's advanced technology has provided for design, development and manufacturing of complicated programmable logic devices. Such devices include those described in U.S. Pat. Nos. 5,260,610 and 5,260,611, incorporated herein by reference for all purposes. These devices include numerous programmable elements to provide flexibility. By programming these programmable elements, the user defines the function that the programmable logic device must perform. Configuration files are used to program the programmable logic devices. A typical configuration file includes at least one memory pattern. The memory pattern includes a series of low "0" and high "1" bits which are used to program the individual programming elements. Configuration files are stored on the PLD or in memory associated with the PLD and are loaded onto the PLD at power-up or when the PLD system receives a signal to reconfigure the PLD.
Typically, a configuration file includes more than one memory pattern. It is also possible that more than one configuration file are used to program a typical programmable logic device. The configuration files are usually stored in memory banks and are individually retrieved to program the corresponding programmable logic device. Typically, EPROMs are used to store the configuration files.
As the complexity of the programmable logic devices grows, so does the number of programmable elements used. This requires configuration files with a greater number of "1s" and "0s" to program the programmable memory devices. As the size of the configuration files increases, so does the size of the EPROMs needed to store them. Large EPROMs are expensive and require large silicon area to be manufactured. The size of the silicon area is more important when the EPROM is manufactured on the same substrate as the programmable logic device. The size of the EPROMs limit the complexity of the programmable logic device.
From the foregoing, it can be appreciated that there is a need for an apparatus and method of reducing the size of the configuration files before they are stored in memory, particularly where the configuration files are stored in memory located on the same substrate as the PLD.